﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AjaxControlToolkit;

namespace FrontEndPlus.Módulos.Administración
{
    public partial class wbfrm_Clases_Horarios : System.Web.UI.Page
    {
        #region Variables Globales
        private WCF_Gimnasio.cls_Gimnasio _Sedes = new WCF_Gimnasio.cls_Gimnasio();
        private WCF_Gimnasio.cls_Horario_Clase _Horario = new WCF_Gimnasio.cls_Horario_Clase();
        private WCF_Gimnasio.cls_Sala _Sala = new WCF_Gimnasio.cls_Sala();
        private WCF_Gimnasio.cls_Entrenador _Entrenador = new WCF_Gimnasio.cls_Entrenador();
        private WCF_Gimnasio.cls_Clases_Horarios _Clases = new WCF_Gimnasio.cls_Clases_Horarios();
        private WCF_Gimnasio.cls_Cliente _Cliente = new WCF_Gimnasio.cls_Cliente();      
        private WCF_Gimnasio.ServiceClient _servicio = new WCF_Gimnasio.ServiceClient();
        private int UsuarioSession = 6;//Convert.ToInt32(HttpContext.Current.Session["idUsuario"].ToString());
        private DataTable _registrosClases;
        private string MensajeError = "";
        #endregion

        #region Métodos

        #region Método Cargar Sedes en DropDownList
        private void CargarSedesCombo()
        {
            try
            {
                _Sedes.IdUsuarioInicioSeccion = UsuarioSession;
                ddl_Sede.DataTextField = "Nombre_Centro";
                ddl_Sede.DataValueField = "Id_Gimnasio";
                ddl_Sede.DataSource = _servicio.Listar(1, _Sedes).Tables[0];
                ddl_Sede.DataBind();
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }

        }
        #endregion

        #region Método Cargar Horarios en DropDownList
        private void CargarHorariosCombo()
        {
            try
            { 
                _Horario.IdUsuarioInicioSeccion = UsuarioSession;
                ddl_Horario.DataTextField = "Descripcion";
                ddl_Horario.DataValueField = "Id_Horario_Clase";
                ddl_Horario.DataSource = _servicio.Listar(1, _Horario).Tables[0];
                ddl_Horario.DataBind();
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }

        }
        #endregion

        #region Método Cargar Salas en DropDownList
        private void CargarSalasCombo()
        {
            try
            { 
                _Sala.IdUsuarioInicioSeccion = UsuarioSession;
                ddl_Sala.DataTextField = "Descripcion";
                ddl_Sala.DataValueField = "Id_Sala";
                ddl_Sala.DataSource = _servicio.Listar(1, _Sala).Tables[0];
                ddl_Sala.DataBind();
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }

        }
        #endregion

        #region Método Cargar Entrenadores en DropDownList
        private void CargarEntrenadoresCombo() 
        {
            try
            { 
                _Entrenador.IdUsuarioInicioSeccion = UsuarioSession;
                ddl_Entrenador.DataTextField = "Nombre";
                ddl_Entrenador.DataValueField = "Id_Empleado";
                ddl_Entrenador.DataSource = _servicio.Listar(1, _Entrenador).Tables[0];
                ddl_Entrenador.DataBind();
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }

        }
        #endregion

        #region Método Cargar Clases en DropDownList
        private void CargarClasesCombo()
        {
            try
            { 
                _Clases.IdUsuarioInicioSeccion = UsuarioSession;
                ddl_Clase.DataTextField = "Descripcion";
                ddl_Clase.DataValueField = "Id_Clase";
                ddl_Clase.DataSource = _servicio.Listar(1, _Clases).Tables[0];
                ddl_Clase.DataBind();
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }

        }
        #endregion

        #region Método Cargar Clientes en DropDownList
        private void CargarClientesCombo()
        {
            try
            { 
                _Cliente.IdUsuarioInicioSeccion = UsuarioSession;
                ddl_Cliente.DataTextField = "Nombre";
                ddl_Cliente.DataValueField = "Id_Cliente";
                ddl_Cliente.DataSource = _servicio.Listar(1, _Cliente).Tables[0];
                ddl_Cliente.DataBind();
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }

        }
        #endregion

        #region Método Agregar Clase
        public void AgregarClase()
        {
            try
            {
                _Clases.IdUsuarioInicioSeccion = UsuarioSession;
                _Clases.Id_Gimnasio = Convert.ToInt32(ddl_Sede.SelectedValue.ToString());
                _Clases.Id_Horario = Convert.ToInt32(ddl_Horario.SelectedValue.ToString());
                _Clases.Id_Sala = Convert.ToInt32(ddl_Sala.SelectedValue.ToString());
                _Clases.Id_Empleado = Convert.ToInt32(ddl_Entrenador.SelectedValue.ToString());
                _Clases.Descripcion = txt_DescrClase.Text;
                _Clases.Cantidad = Convert.ToInt32(txt_Cantidad.Text);
                _servicio.InsertarActualizarRegistro(true, ref MensajeError, _Clases);
                lbl_Mensaje2.Text = "Se agregó la Clase Correctamente";
            }
            catch (Exception ex)
            {
                lbl_mensaje.Text = ex.Message;
            }
        }
        #endregion

        #region Método Agregar Detalle
        public void AgregarDetalleClase()
        {            
               _Clases.IdUsuarioInicioSeccion = UsuarioSession;
                _Clases.Id = Convert.ToInt32(ddl_Clase.SelectedValue.ToString());
                _Clases.Id_Cliente = Convert.ToInt32(ddl_Cliente.SelectedValue.ToString());
                _Clases.Descripcion_Detalle = txt_DescrDetClase.Text;               
                _servicio.InsertarActualizarRegistro(false, ref MensajeError, _Clases);
                lbl_Mensaje3.Text = "Se agregó el Detalle Correctamente";
        }
        #endregion
        #endregion

        #region Eventos

        #region Evento Cargar La Página PageLoad
        protected void Page_Load(object sender, EventArgs e)
        {           
            if (!IsPostBack)
            {
                try
                {
                    CargarSedesCombo();
                    CargarHorariosCombo();
                    CargarSalasCombo();
                    CargarEntrenadoresCombo();
                    CargarClasesCombo();
                    CargarClientesCombo();
                    Panel9.Enabled = false;
                    RequiredFieldValidator7.Enabled = false;
                    if (Request.QueryString["idCliente"] != null)
                    {
                        txt_CodCliente.Text = Request.QueryString["idCliente"];
                        txt_Identificacion.Text = Request.QueryString["cedCliente"];                       
                        txt_Nombre.Text = Request.QueryString["nomCliente"];
                        txt_Apellido.Text = Request.QueryString["apeCliente"];
                    }
                }
                catch (Exception ex) { lbl_mensaje.Text = ex.Message; }
            }
        }
        #endregion

        #region Evento Botón Búsqueda del Cliente
        protected void imgbtn_Busqueda_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                Response.Redirect("wbfrm_Busqueda_Cliente_Clases.aspx");
            }
            catch (Exception ex) { lbl_mensaje.Text = ex.Message; }
        }
        #endregion

        protected void imgbtn_Agregar_Click(object sender, ImageClickEventArgs e)
        {            
            AgregarClase();
            Panel9.Enabled = true;
            RequiredFieldValidator7.Enabled = false;
            CargarClasesCombo();
            Panel1.Enabled = false;
        }

        #endregion

        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            RequiredFieldValidator6.Enabled = false;
            RequiredFieldValidator4.Enabled = false;           
            AgregarDetalleClase();
            Panel9.Enabled = false;
        }
    }
}